package com.corticon.dialogs.dao;

import java.util.List;

import com.corticon.dialogs.model.Question;
import com.corticon.dialogs.model.UserGroup;
import com.corticon.dialogs.util.Pager;

public interface QuestionDAO extends GenericDAO<Question, Long> {

    public long getCountByCriteria(String criteria, String availability, String status, String user,
        String group);

    public long getCountByGroup(UserGroup group);

    public List<Question> getPageOfDataByGroup(UserGroup group, Pager pager);

    public List<Question> getPageOfQuestions(String criteria, String availability, String status,
        String user, String group, Pager pager);

    /**
     * find question max id
     * @return
     */
    public int GetMaxNumber();

    public Question GetQuestionById(String Qid);

    List<Question> searchUnincludedQuestions(String keywords, String username, String group);

    String findMaxRefId();

    List<Question> search(String keywords, String availability, String status, String username,
        String groupName, Pager pager);
}